#include <iostream>
using namespace std;

class stack
{
public:
	
	void Init(int n)
	{
		a = (int*)malloc(sizeof(int) * n);
		if (a == nullptr)
		{
			printf("malloc fail\n");
			return;
		}
		size = 0;
		capacity = n;
	}

	void Push(int x)
	{
		a[size++] = x;
	}

	void Pop()
	{
		size--;
	}

	void PrintTop()
	{
		printf("%d ", a[size - 1]);
	}

private:
	int* a;
	int size;
	int capacity;
};

int main()
{
	stack st;
	st.Init(4);
	st.Push(3);
	st.Push(2);
	st.Push(1);
	st.PrintTop();
	st.Pop();
	st.PrintTop();
	st.Pop();
	st.PrintTop();
	st.Pop();
	st.PrintTop();


	return 0;
}